![Amazon Alexaに関する技術要素や状況をざっくりと知る](https://devio2023-media.developers.io/wp-content/uploads/2015/10/alexa_icon.png)
Amazon Alexaに関する技術要素や状況をざっくりと知る
最近はAmazon Alexaの学習に多くの時間を割いている佐々木です。今回はAmazon Alexaに関する様々な技術要素や状況について、ざっくりとまとめてみました。
自然言語処理(NLP)とは
自然言語処理(Natural Language Processing:NLP)は、人間が用いる文字や音声といった「言葉」を認識、分析、処理するための技術です。例えば僕たちがチャットに書く言葉の文字列(「おはよー。寒い。お布団が離してくれない」)や、口頭で行う会話(「今日の昼は肉的な気分」)を、人間以外が意味を理解して返答するのは困難です。こういった文字列や音声で表現される人間の「言葉」によってコンピュータとコミュニケーションをとるための技術が、NLPです。
このNLPが急速に発達し、私たちの生活に反映されるようになった大きな要因が人工知能(Artificial Intelligence:AI)です。AI以前のNLPは、言葉に含まれる特定の規則から意味を理解するものであり、そのために必要なルールや辞書は人間が手動で作っていました。例として、朝起きたら部屋が寒かった状況を想像してみましょう。AI以前のNLPでは以下のような「言葉」を認識して処理していました。
- 人:「暖房を23度に設定」
- 機械:「暖房を23度に設定します」
しかしAIが登場し、言葉のビッグデータを統計分析や機械学習によって活用することで、「言葉」の曖昧さを許容できるようになりました。AI以降のNLPでは以下のような処理が可能です。
- 人:「おはよー。寒い。お布団が離してくれない」
- 機械:「おはようございます。暖房を25度に設定します」
- 人:「25度はさすがに暑いよー」
- 機械:「では暖房を23度に設定します。暖かいコーヒーも淹れておきましたよ」
「寒い」という言葉から暖房によって室内を暖かくする、また「さすがに暑い」という言葉から暖房温度を下げる、このような曖昧な言葉を認識し、分析し、適切な処理を行う。これがAI以降のNLPです。そしてAI関連技術が進歩すればするほど、NLPの精度は向上します。
自然言語処理(NLP)の種類
自然言語処理(NLP)は大きく分けて2種類あります。文字列を分析するテキスト分析と、会話を分析するスピーチ分析です。
テキスト分析
NLPの中でも先行して発達したのがテキスト分析で、文字列を分析して含まれる意味を認識するものです。
AI以前のNLPは迷惑メールや有害コンテンツのフィルタリングで使われており、メールやWebコンテンツに含まれるテキストを分析し、特定の辞書にマッチした単語の数によってスコアリングを行って、迷惑メールや有害コンテンツだと判断していました。またWeb検索エンジンでは検索キーワードを形態素解析によって分かち書きを行い、名詞や品詞によって検索を実行しています。
AI以降のNLPではビッグデータを活用したテキスト分析が行われるようになりました。例えばソーシャルネットワークのパブリックタイムラインから投稿を収集し自社製品に対する評判を収集したり、前述の迷惑メールフィルタリングも大量のメールからスパムメールの文章の傾向を分析してラベリングしたり、Webの検索キーワードからその人が興味があると思われる他のコンテンツをお勧めしたり、等です。
インターネット利用の一般化によって大量のデータがインターネット上に保存されるようになったことが、AIの進歩の要因でもあり、NLPの進歩の要因でもあります。
スピーチ分析の状況
テキスト分析と比べて後発なのがスピーチ分析です。これはテキストと比較してスピーチのほうが、言葉の曖昧さや揺らぎが大きいことが原因です。人間の音声は文字列と比べて区切りが曖昧で、音が混ざってしまいます。「おはようございます」という言葉を喋る時、そのスピードや発音の強弱によって「おはようございます」とも「おはよーざいます」とも「おっざーす」とも聞こえます。そういった揺らぎを誤りなく分析するためには、言葉だけでなく、文法や前後の文脈等も考慮する必要があります。
このように困難だったスピーチ分析も、AIによって劇的に進化しました。大量のスピーチを保存した音声のビッグデータを統計分析しモデリングすることで、音声という「言葉」の曖昧さや揺らぎに影響されることなく、意味を理解できるようになりました。
こうした技術の進歩によって生まれたのが、自然言語処理を基盤とした製品/サービスです。
自然言語処理(NLP)の製品/サービス状況
Apple
Appleは最もメジャーな形でNLPを活用しています。iPhone 4sに初めて搭載された音声認識アシスタント「Siri」です。
中高生は何か面白いネタがあればすぐにSiriに話しかけます。怪談を話させたり、ラップさせたり、PPAPを歌わせたり...iPhone自体が日本国内で爆発的に普及していることもあり、今一番使われている自然言語処理製品ではないでしょうか。
Siriは元々はベンチャー企業であるSiri社によって開発されていましたが、2010年にAppleに買収されました。その後2014年に音声認識システムの基盤をAIに移行したことで音声認識の精度が向上し、現在多くの人に親しまれる立場を手に入れました(参考:An exclusive inside look at how artificial intelligence and machine learning work at Apple)
これまでiPhone(iOS)によってのみ活用されてきたSiriですが、2016年に開催されたWWDCでmacOS SierraにもSiriが搭載されることが発表されました。今後はモバイルのみならずデスクトップの音声認識アシスタントとしても活用されていくことになります。
Googleは元々検索エンジンサービスや翻訳サービスでNLPを活用してきました。現在テレビCMをたくさん打ち出している「Google Now」は、GoogleアプリケーションやAndroid端末に導入されていて、Googleのテキストボックスに入力した文字列としての「言葉」から様々な情報を返します。
また2016年にはバーチャルアシスタント「Google Assistant」を発表しました。Google Assistantはテキスト分析にもスピーチ分析にも対応しており、メッセンジャーアプリ「Google Allo」では文字によるチャットで、スマートホーム向けデバイスであるGoogle Homeでは音声による会話で、「言葉」を認識してくれます。
Microsoft
MicrosoftはWindows Phone向けの音声認識アシスタントとして「Cortana」をリリースしており、その後Windows 10に標準搭載されたことで、Cortanaの知名度は一気に上がりました。特徴として積極的にローカライズされている点があり、各国の方言、アクセント、単語に幅広く対応しています。
しかしMicrosoftのNLP活用としてCortanaよりも話題になったのは「りんな」ではないでしょうか。LINEの公式アカウントとして提供されているりんなは、女子高生というキャラクターを設定しながらも、AIによって精度の高い会話が可能なサービスです。個人的に、女子高生という短いセンテンスで会話する世代をよく研究した素晴らしいアイデアだと感心しました。
IBM
IBMはNLPを製品/サービスとしてリリースしているのではなく、AIプラットフォーム「Watson」の入力インターフェースとしてNLPを活用しています。
Watsonは2011年にアメリカのクイズ番組で人間と対戦し勝利したことで一躍有名になりました。当時のWatsonはNLPとしてはテキスト分析の機能しか持っておらず、問題文をテキストで取得していましたが、2015年7月にSpeech to Text機能がリリースされました。これで音声を認識し、文字列に変換し、文字列を分析し処理、という流れが出来るようになります。
Apple、Google、MicrosoftにとってのNLPは、PCやスマートフォン、スマートホームという家庭的なデバイスで活用されていますが、IBMにとってのNLPは研究分野での活用にフォーカスしているようです。特に目立っているが医療で、WatsonのWebサイトにもヘルスケアの特設ページがあります。最近ではWatsonが白血病治療に役立ったとの報道もありました。今後も大学や研究機関等のアカデミックな分野で多く使われていくのではないでしょうか。
Amazon
そして最近特に注目されているのがAmazonのAmazon Alexaです。
2014年にAmazon Alexaに対応した音声認識デバイス「Amazon Echo」を発表、その後「Amazon Tap」、「Echo Dot」と、Alexaファミリーは拡大を続けてきました。2017年1月に米国ラスベガスで開催されたCES 2017では、700社がAlexa搭載製品を発表しており、スマートホーム市場で一気にシェアを拡大したと言えます。
Amazon AlexaについてはAmazon Alexaの基礎知識という記事にまとめましたのでこちらをご覧下さい。
Amazon Alexaがシェアを拡大している要因
Amazon Alexaがこれほどまでに急速にシェアを拡大している要因は、以下の3つがあります。
Amazonという小売プラットフォームの最大限の活用
最も大きいのはこれでしょう。AmazonはグローバルECにおいて世界1位の企業であり、日本国内でもAmazonと楽天が2強と言われています。そしてAmazon EchoやAmazon TapはAmazonアカウントと紐付けられるため、Amazonの取り扱い商品を簡単に購入することが出来ます。Amazon Primeに契約していれば、簡単な音声で音楽を楽しむことも出来ます(「Alexa、今朝はロックが聴きたい」「分かりました、ロックジャンルのプレイリストを再生します」)また、Alexa SkillもAmazonアカウントで入手します。
これはスマートホーム市場においても大きな優位性を持ちます。例えば冷蔵庫を開けて、牛乳が切れていたら「Alexa、牛乳が無いから3本買いたい」と言えばいい。居間の蛍光灯が切れたら「Alexa、居間の蛍光灯買っておいて」と言えば良い。居間の照明器具が、自分の蛍光灯が切れたら勝手に蛍光灯を買ってくれたっていいんです。冷蔵庫経由で牛乳が注文されたら、牛乳メーカーから冷蔵庫メーカーにキャッシュバックが入るようなビジネスもあり得るかも知れません。スマートホームと小売ビジネスが密接に連携するというのは、大きなアドバンテージを持ちます。
開発のしやすさ
Amazon Alexaは、Alexa Skillを開発するためのAlexa Skills Kit(ASK)と、Alexaデバイスを開発するためのAlexa Voice Service(AVS)の、2つのSDKが公開されています。これらのSDKを使えば、簡単にAlexaデバイスやAlexa Skillを開発することが出来ます。
またAlexa SkillはAWS Lambdaで動きますので、Node.js、Python、Javaで開発することが出来ます。Webでよく使われるこれらの開発言語を使うことが出来るのは、Alexa Skillの開発の敷居がグッと下がります。Amazon自体も多くのSkillサンプルを提供しており、学習コストが低く済みます。
こういった開発のしやすさが、Amazon Alexaを選定する要因の一つになっていると思います。
ファンドによる導入支援策
2015年、AmazonはAlexaの開発者やメーカーを対象に、最大1億ドルを支給するAlexa Fundを設立しました。
すでに多くのベンチャーやスタートアップに支給を行っており、Amazon Alexaを活用したスマートホームデバイスが開発されています。AmazonはAmazon Launchpadという形でもスタートアップ企業の支援を行っているため、Alexa Fundのような導入支援策は自然だったと言えます。大手の家電企業を巻き込むのももちろん必要ですが、新たなテクノロジー、新たなアイデアが生まれる市場に対して支援を行っていることも、Amazon Alexaのエコシステム拡大の一助になっているのでは無いでしょうか。
最後に
以上、Amazon Alexaに関する技術要素や状況をざっくりとまとめました。ここ数年急激に盛り上がってきたチャットボットや音声認識アシスタントについて、このような背景があることを抑えておくと、面白いアイデアを生むきっかけになるのでは無いでしょうか。皆さんのお役に立てれば幸いです。